package org.example;

import java.util.Scanner;

public class UI {
    public static EasyFTP easyFTP = new EasyFTP();
    public static boolean isLogin = false;

    public void mainOrder() {
        System.out.println("---------------------主菜单-------------------------");
        System.out.println("---------------------1.登录------------------------");
        System.out.println("---------------------2.退出登录---------------------");
        System.out.println("---------------------3.下载-------------------------");
        System.out.println("---------------------4.上传-------------------------");
        System.out.println("---------------------5.退出系统----------------------");
        System.out.println("---------------------6.打印当前工作目录----------------");
        System.out.println("---------------------7.改变当前工作目录----------------");
        System.out.println("---------------------8.创建新的目录-------------------");
        System.out.println("---------------------9.列出当前工作目录的所有文件---------");
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        UI ui = new UI();
        int choose = 0;
        while (choose != 5) {
            ui.mainOrder();
            System.out.println("请输入你的选择");
            choose = scanner.nextInt();
            switch (choose) {
                case 1:
                    if (!UI.isLogin) {
                        System.out.println("你选择了登录功能");
                        System.out.println("请输入你的用户名");
                        String name = scanner.next();
                        System.out.println("请输入你的密码");
                        String pwd = scanner.next();
                        UI.isLogin = UI.easyFTP.login(name, pwd);
                        if (UI.isLogin) {
                            System.out.println("登录成功");
                        } else {
                            System.out.println("用户或密码错误登录失败");
                        }

                    } else {
                        System.out.println("您已经登录，若要切换账号，请先退出登录在进行登录");
                    }
                    break;
                case 2:
                    System.out.println("您选择了退出登录功能");
                    if (!UI.isLogin) {
                        System.out.println("错误操作，您还没有登录");
                    } else {
                        UI.isLogin = false;
                        UI.easyFTP.logout();
                    }
                    break;
                case 3:
                    System.out.println("您已经选择了下载操作");
                    if (!UI.isLogin) {
                        System.out.println("请先进行登录");
                    } else {
                        //解决登陆超时
                        System.out.println("请输入您要下载的文件名");
                        String ftpFileName = scanner.next();
                        UI.easyFTP.download(ftpFileName);
                    }
                    break;
                case 4:
                    System.out.println("您已经选择了上传功能");
                    if (!UI.isLogin) {
                        System.out.println("请先进行登录");
                    } else {

                        System.out.println("请输入您要上传的文件名");
                        String localFileName = scanner.next();
                        UI.easyFTP.upload(localFileName);
                    }
                    break;
                case 5:
                    System.out.println("你已经选择退出功能");
                    System.out.println("正在退出");
                    System.out.println("再见");
                    break;
                case 6:
                    System.out.println("您已经选择打印当前工作目录功能");
                    if (!UI.isLogin) {
                        System.out.println("请先进行登陆操作");
                    } else {

                        UI.easyFTP.printWorkingDirectory();
                    }
                    break;
                case 7:
                    System.out.println("您已经选择改变当前工作目录功能");
                    if (!UI.isLogin) {
                        System.out.println("请先进行登陆操作");
                    } else {

                        System.out.println("请输入你要切换目录名");
                        String file = scanner.next();
                        UI.easyFTP.changeWorkingDirectory(file);
                    }
                    break;
                case 8:
                    System.out.println("您已经选择创建新的目录功能");
                    if (!UI.isLogin) {
                        System.out.println("请先进行登陆操作");
                    } else {

                        System.out.println("请输入你要创建的目录名称");
                        String fimeName = scanner.next();
                        UI.easyFTP.makeDirectory(fimeName);
                    }
                    break;
                case 9:
                    System.out.println("您已经选择列出当前工作目录的所有文件功能");
                    if (!UI.isLogin) {
                        System.out.println("请先进行登陆操作");
                    } else {

                        UI.easyFTP.listFiles();
                    }
                    break;

                default:
                    System.out.println("错误选择");
                    break;
            }
        }
    }
}
